﻿namespace VM.WebAPI.Controllers.Middleware
{
    public class HttpMiddleware
    {

        private readonly RequestDelegate _next;

        public HttpMiddleware(RequestDelegate next)
        {
            _next = next;
        }

        public async Task Invoke(HttpContext context)
        {
            // 获取请求头信息
            string authorizationHeader = context.Request.Headers["Authorization"];

            // 在这里可以对请求头进行进一步的处理，例如验证、解析等

            // 将请求头信息存储到上下文的 Items 集合中，以便传递给后续中间件或控制器
            context.Items["AuthorizationHeader"] = authorizationHeader;

            // 调用下一个中间件
            await _next(context);
        }
    }
}
